package com.kingbook.core.annotations;

import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

import static java.lang.Integer.MIN_VALUE;

/**
 * 检查方法的集合参数必须包含所需要的属性，如果没有该属性 throw ParamsException
 * mapName 集合名称，默认名称'param'
 * properties 集合必须包含的属性
 *
 * @Author: Bucky
 * @Date: 2019/1/2
 * @Version 1.0
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface PropertieVerify {

    String name();

    int minValue() default MIN_VALUE;

    int maxValue() default MIN_VALUE;

    int minLength() default MIN_VALUE;

    int maxLength() default MIN_VALUE;
}
